package com.eva.framework.mp.utils;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.eva.framework.common.model.PageData;
import com.github.pagehelper.PageInfo;

/**
 * 分页工具
 */
public class PageUtil {

    /**
     * 根据MyBatis原生分页对象组装
     *
     * @param pageInfo MyBatis分页对象
     * @return PageData<T>
     */
    public static <T> PageData<T> from(PageInfo<T> pageInfo) {
        PageData<T> pageData = new PageData<>(pageInfo.getPageNum(), pageInfo.getPageSize());
        pageData.setTotal(pageInfo.getTotal());
        pageData.setRecords(pageInfo.getList());
        return pageData;
    }

    /**
     * 根据MyBatis Plus分页对象组装
     *
     * @param pageInfo MyBatisPlus分页对象
     * @return PageData<T>
     */
    public static <T> PageData<T> from(IPage<T> pageInfo) {
        PageData<T> pageData = new PageData<>(pageInfo.getCurrent(), pageInfo.getSize());
        pageData.setTotal(pageInfo.getTotal());
        pageData.setRecords(pageInfo.getRecords());
        return pageData;
    }
}
